iTerm MCP
iTerm MCP
iTerm MCP 서버는 macOS용 iTerm2 터미널 에뮬레이터와 Claude AI를 통합하여 LLM이 터미널 명령을 실행하고 모니터링할 수 있게 해주는 서버입니다. 이 서버는 터미널 기반 작업의 자동화, 스크립트 실행, 시스템 모니터링, 개발 작업 등을 지원합니다. LLM은 사용자를 대신하여 명령을 작성하고 실행한 후 결과를 분석하여 적절한 후속 조치를 취할 수 있습니다.
특징
- 터미널 명령 실행: LLM이 iTerm2 터미널에서 명령을 실행 가능
- 출력 캡처: 터미널 명령 실행 결과 캡처 및 분석
- 상호작용적 명령 지원: 사용자 입력이 필요한 상호작용적 명령어 처리
- 세션 관리: 여러 터미널 세션 및 탭 관리
- 스크립트 실행: 복잡한 스크립트 및 자동화 작업 실행
- 환경 변수 관리: 터미널 환경 변수 설정 및 관리
- 프로필 및 구성: 다양한 터미널 프로필 및 구성 지원
- SSH 연결: 원격 시스템에 대한 SSH 연결 관리
- 컨트롤 문자 지원: 특수 제어 문자 및 키 조합 전송 기능
API
도구
터미널 명령
- write_to_terminal: 터미널에 명령 또는 텍스트 입력
- 입력: 명령 문자열
-
출력: 성공 여부
-
read_terminal_output: 터미널 출력 읽기
- 입력: 읽을 줄 수
-
출력: 터미널 출력 텍스트
-
send_control_character: 제어 문자 전송
- 입력: 제어 문자(예: 'C'는 Ctrl+C를 의미)
- 출력: 성공 여부
세션 및 탭 관리
- get_active_session: 현재 활성 세션 정보 조회
- 입력: 없음
-
출력: 활성 세션 ID 및 상태
-
switch_session: 다른 세션으로 전환
- 입력: 세션 ID 또는 이름
-
출력: 세션 전환 성공 여부
-
create_new_tab: 새 탭 생성
- 입력: 프로필 이름(선택적)
- 출력: 새 탭 ID
환경 및 설정
- get_environment_variables: 현재 환경 변수 조회
- 입력: 없음 또는 특정 변수 이름
-
출력: 환경 변수 목록 또는 특정 변수 값
-
set_environment_variable: 환경 변수 설정
- 입력: 변수 이름, 값
- 출력: 설정 성공 여부
사용 방법
설치
# npm을 통한 설치
npm install -g iterm-mcp
# 또는 Smithery를 통한 설치
npx -y @smithery/cli install iterm-mcp --client claude
구성
Claude Desktop에서 이 서버를 사용하려면 다음과 같이 설정합니다:
{
"mcpServers": {
"iterm": {
"command": "npx",
"args": ["iterm-mcp"],
"env": {}
}
}
}
macOS 설정 파일 위치: ~/Library/Application Support/Claude/claude_desktop_config.json
필요 조건
- macOS: 10.14 이상
- iTerm2: 3.4 이상 버전
- Node.js: v14 이상
사용 예시
// 터미널 명령 실행
await write_to_terminal("ls -la");
console.log("명령이 전송되었습니다.");
// 터미널 출력 읽기
const output = await read_terminal_output(10); // 최대 10줄 읽기
console.log("터미널 출력:", output);
// 제어 문자 전송 (Ctrl+C)
await send_control_character("C");
console.log("명령 중단 시그널이 전송되었습니다.");
// Python 인터프리터 실행 및 상호작용
await write_to_terminal("python3");
await write_to_terminal("print('Hello, World!')");
const result = await read_terminal_output(1);
console.log("Python 출력:", result);
await send_control_character("D"); // Ctrl+D로 Python 종료
연결된 구성 요소
- Terminal-Control - 다양한 터미널 제어 기능 제공
- Filesystem - 파일 시스템 작업과 통합
- Everything Search - 파일 및 콘텐츠 검색 기능